// 基于以下代码完成下面的四个练习
const fp = require('lodash/fp')
// 数据
// horsepower 马力, doller_value 价格, in_stock 库存
const cars = [
    {name: 'Ferrari FF', horsepower: 660, dollar_value: 700000, in_stock: true},
    {name: 'Spyker C12 Zagato', horsepower: 650, dollar_value: 648000, in_stock: false},
    {name: 'Jaguar XKR-S', horsepower: 550, dollar_value: 132000, in_stock: false},
    {name: 'Audi R8', horsepower: 525, dollar_value: 114200, in_stock: false},
    {name: 'Aston Martin One-77', horsepower: 750, dollar_value: 1850000, in_stock: true},
    {name: 'Pagani Huayra', horsepower: 700, dollar_value: 1300000, in_stock: false}
]
// 练习1： 使用函数组合fp.flowRight() 重新实现下面这个函数
/* 
let isLastInStock = function(cars) {
    // 获取最后一条数据
    let last_car = fp.last(cars)
    // 获取最后一条数据的in_stock属性值
    return fp.prop('in_stock', last_car)
}
 */

// 定义的这个函数是一个纯函数
let isLastInStockWord = function(cars) {
    // 返回的是一个函数
    return fp.flowRight(fp.prop('in_stock'), fp.last)
}
// 所以需要执行一次得到返回的函数，赋值给一个变量
let getLast = isLastInStockWord()
console.log(getLast(cars))